The present invention relates to a data transfer system for bus connecting data processors and to a data transfer system for use in a system formed of a plurality of data processors and a plurality of system buses. For example, the present invention relates to a technique in which a data processor uses, in common, the built-in circuits of other data processors, and to a technique in which a data processor makes access to the external buses of other data processors. Moreover, the present invention relates to a technique for boot control in which an operation program of a data processor is initially stored in memory.
With the development of more complicated systems, the number of data processors and components mounted in a system is increasing. For example, in a mobile phone system, a baseband data processor for controlling communication has been used to control software (application and key control or the like) and hardware (components of RF circuit, LCD and memory or the like). However, with diversification of functions, it is now difficult for the baseband processor to perform all processes. In a known PC system, this problem has been solved by improving the operating frequency of the data processor, but in a battery-driven type mobile terminal it is not possible to simply improve the performance with use of a higher frequency, because, for such purpose, the operating life of the battery must be expanded.
It has also been proposed to use a method to vary the frequency with the processes that are being executed by the data processor, but realization of such a technique in practical use is difficult, because actual realization is very difficult in the system. Moreover, a data processor which can realize high speed operation tends to become large in the chip area, and it is also difficult to reduce the current value during the standby state.
In order to solve this problem, applications which cannot be processed with available data processors of the prior art have been processed using a co-processor or another data processor. Accordingly, since it is possible to operate only data processors that are suitable for particular processes, when such particular processes are required, the system can be formed easily, and, finally, a reduced power consumption of the system as a whole can also be realized.
When a plurality of data processors, such as a data processor and a co-processor or the like, are mounted in one system, a common bus is frequently used for connection of the data processors. However, when a data processor which cannot use a common bus is used, and when full performance cannot be exhibited through common use of a bus because the memory access performance is insufficient, it is required to conduct the data transfer by providing a certain interface to one data processor and then connecting this interface to the bus of the other processor. As this interface, there is a host port interface supported, for example, by the DSP (TMS320C54x) of TI. In actual practice, data transfer is performed between data processors by utilizing the RAM built in the data processor and the interruption function of the processor. However, software must be executed to use the data transferred.
Not only the system, but also the function itself of the data processor, are highly sophisticated. When a plurality of data processors are mounted to the system, it is not required for a plurality of data processors to support the same duplicated function, by efficiently using the functions mounted to the data processors, such as memory interface, USB (universal serial bus), memory card, serial interface for SDRAM (Synchronous DRAM) or the like. When data processors are connected with an interface not depending on the common bus, the data transferred must be processed with software under the condition that the functions supported by the respective data processors are used. For example, when a certain data processor desires to make access to a memory by utilizing a memory interface of another data processor, it has been required that the data to be accessed with the above-mentioned interface is first transferred to another data processor, a program of the other data processor is thereafter executed as an interruption process, thereby the other data processor in the execution of such a program makes access to a memory, and the other data processor issues, after such access, an interruption to the one data processor for effecting the data transfer to the one data processor via the interface.
As another problem resulting from the complicated system structure, reduction of the mounting area may be listed. Particularly, at a mobile information terminal, it is required to reduce the number of components used in the system in order to reduce the mounting area, from the viewpoint of reduction in power consumption and cost. However, when the system is improved so as to have multiple functions, the number of components also increases so as to realize such functions. Particularly, when a plurality of data processors are comprised as described above, this problem becomes more serious.
In the case where a plurality of data processors are mounted on the system, as described in regard to the technology of the prior art, and such data processors cannot be connected with a common bus, it is required to provide an interface for mutually connecting the data processors. The host interface, such as a DSP of TI, performs handshake operations to realize data transfer by utilizing the RAM built in the data processor and the interruption function of the processor. In using this method, since it is required to execute the interruption process program for every data transfer, the performance may be deteriorated because the execution of the program currently being operated is interrupted. Particularly, a problem arises when it is required to use only an external interface supported by the data processor.
Moreover, the inventors of the present invention have considered the technology used to initially store an operation program of a data processor to a memory. For example, in a microprocessor where an electrically reprogrammable flash memory is formed on a chip to store the operation program of the CPU, an initial program for such flash memory is generally written, for example, using, in its fabrication stage, a writing device, such as an EPROM writer. However, such a write operation is complicated, and, moreover, it takes a longer time because such a write operation is accompanied by a verify process and a rewrite process. Therefore, this write operation is also considered as a cause of a rise in the fabrication cost of a data processor.